package org.japo.java.swing.igu;

import java.awt.Color;
import java.awt.Font;
import java.awt.HeadlessException;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.japo.java.swing.listeners.GEA;

public class IGU extends JFrame {

    private JTextField txfTexto;
    private JPanel pnlPrincipal;

    public IGU() throws HeadlessException {
        iniciarComponentes();
    }

    private void iniciarComponentes() {

        Font f = new Font("Arial", Font.PLAIN, 40);

        GEA gea = new GEA(this);
        txfTexto = new JTextField(10);
        txfTexto.setFont(f);
        txfTexto.setHorizontalAlignment(JTextField.CENTER);
        txfTexto.addActionListener(gea);

        pnlPrincipal = new JPanel();
        pnlPrincipal.add(txfTexto);

        setContentPane(pnlPrincipal);
        setSize(400, 300);
        setLocationRelativeTo(pnlPrincipal); //Centrar la ventana
        setTitle("Campo de texto"); //Título de la ventana
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Operación por defecto al dar al botón de cerrar

    }

    public void cambiarColor() {
        String texto = txfTexto.getText().toUpperCase();

        switch (texto) {
            case "ROJO":
                pnlPrincipal.setBackground(Color.RED);
                break;

            case "AZUL":
                pnlPrincipal.setBackground(Color.BLUE);
                break;
            case "VERDE":
                pnlPrincipal.setBackground(Color.GREEN);
                break;
            case "BLANCO":
                pnlPrincipal.setBackground(Color.WHITE);
                break;
            default:
                pnlPrincipal.setBackground(new Color(240,240,240));
            }
    }

    public void finalizarPrograma() {
        //Ocultar la ventana
        setVisible(false);

        //Libera los recursos gráficos
        dispose();

        //Termina la máquina virtual
        System.exit(0);
    }
    private void prueba(){
        
    }
}
